package com.tsd.jxc.stock.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.jxc.stock.entity.JxcStockTransferItem;
import com.tsd.jxc.stock.entity.JxcStockTransferItemExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcStockTransferItemMapper
 *
 * @author Hillpool
 * @date 2022/12/12 11:32:10
 */
public interface JxcStockTransferItemMapper {

    JxcStockTransferItem selectByPrimaryKey(Long id);

    JxcStockTransferItemExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcStockTransferItem record);

    int insertSelective(JxcStockTransferItem record);

    int insertList(@Param("list") List<JxcStockTransferItemExt> list);

    int updateByPrimaryKey(JxcStockTransferItem record);

    int updateByPrimaryKeySelective(JxcStockTransferItem record);

    int updateList(@Param("list") List<JxcStockTransferItemExt> list);

    List<JxcStockTransferItemExt> selectByEntity(JxcStockTransferItemExt record);

    List<JxcStockTransferItemExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcStockTransferItemExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcStockTransferItemExt> selectByParams(@Param("params") Map<String, Object> params);

    void deleteLogicByIdList(BatchDeleteLogicVo logicVo);

    void deleteLogicByItemList(BatchDeleteLogicVo logicVo);

    void deleteLogicByBillList(BatchDeleteLogicVo logicVo);

    List<JxcStockTransferItemExt> selectBySids(@Param("sids") List<String> sids, @Param("dr") int dr);

    List<JxcStockTransferItemExt> selectByGoodsName(String goods_name);

}